#pragma once
#include "stdafx.h"
#include "common/utility.h"

class Renderer;

class InitHelper
{
public:
	InitHelper(Renderer *ptr) : pRender(ptr) { }
	InitHelper(const InitHelper&) = delete;
	InitHelper& operator=(const InitHelper&) = delete;
	~InitHelper() { }

	void init_adapter();
	void init_commandQLA();
	void init_swapChain();
	void init_dspHeaps();
	void init_fence();
	void init_rtv();
	void init_dsv();
	void init_geos();
	void init_renderItems();
	void init_materials();
	void add_material(const std::wstring& path, const std::string& texName);

private:
	Renderer *pRender;
	ComPtr<IDXGIFactory4> factory;
	UINT objCBIndex = 0;
	UINT matCBIndex = 0;
	UINT texIndex = 0;
};

